home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmigaPlus / Games / CrossfireII_Demo / mission / XCompilerScript08 < prev    next >
Encoding:
Text File  |  2003-02-23  |  6.4 KB  |  339 lines

  1. // Wir setzen Sonden aus und beobachten dickes Alienschiff
  2.  
  3. LadeRaumer AlienRaumer1
  4. LadeRaumer AlienRaumer2
  5. LadeRaumer AlienRaumer3
  6. LadeRaumer AlienKBoot
  7. LadeRaumer AlienTurm
  8. LadeRaumer RebelFighter4
  9.  
  10. // um alle Waffen zu verkaufen, kurzzeitig auf jemanden umschalten, der keine Waffen tragen kann
  11. NewShip 43, Transporter1, -1, 0, 1
  12. NewShip 43, RebelFighter4, -1, 0, 1
  13.  
  14. LadeBild "Mission/Bild08_1"
  15. ZeigeText 9
  16. Einblenden
  17. WarteTaste
  18. Ausblenden
  19.  
  20. StartMission 8
  21.  
  22. // Wir
  23. NewShip 43, RebelFighter4, -1, 0, 1, WirTot
  24. // Marke setzen, die die Schüsse anspringen
  25. ChgCtrl 0, , Geschossen
  26. SetVar RS_Richtung(0), 52
  27.  
  28. // Anzahl zu verschiessende Sonden setzen
  29. SetVar E, 8
  30. // Aktuelle Sondenposition
  31. SetVar F, 0
  32. SetVar X, 0
  33. SetVar Y, 0
  34.  
  35. // wurde der Spieler schon entdeckt?
  36. SetVar K, 0
  37.  
  38. // Globaler Timer
  39. SetVar C, 0
  40.  
  41. // Kam Der Dicke (tm) schon durch?
  42. SetVar J, 0
  43.  
  44. // Sondenwaffe hinzufügen
  45. AddWaffe 0, 40
  46.  
  47. // Patrol in die Runde schicken
  48. NewShip 0, AlienRaumer2, Patrol, 5, 6, PatrolTot
  49. NewShip 37, AlienRaumer3, Patrol, 6, 6, PatrolTot
  50. ChgAim 6, -1, 0
  51. NewShip 26, AlienRaumer2, Patrol, 7, 6, PatrolTot
  52. NewShip 3, AlienRaumer3, Patrol, 8, 6, PatrolTot
  53. NewShip 101, AlienRaumer2, Patrol, 9, 6, PatrolTot
  54. ChgCtrl 5, Patrol, SpielerEntdeckt, Beschossen
  55. ChgCtrl 6, Patrol, SpielerEntdeckt, Beschossen
  56. ChgCtrl 7, Patrol, SpielerEntdeckt, Beschossen
  57. ChgCtrl 8, Patrol, SpielerEntdeckt, Beschossen
  58. ChgCtrl 9, Patrol, SpielerEntdeckt, Beschossen
  59.  
  60. SpieleMusik "Musik/Story2"
  61.  
  62. SetMarke Rund
  63. Wait 10
  64. Add C, 1
  65.  
  66. if(C=4) {
  67.   Text 1, 50, 1, 0
  68.   }
  69.  
  70. if(C=13) {
  71.   if(J=1) {
  72.     NewShip 107, AlienKBoot, DummSchlumpf, 10, 6
  73.     SetVar RS_Richtung(10), 0
  74.  
  75.     // Mitfahrer draufsetzen
  76.     NewShip 107, AlienTurm, DummSchlumpf, 11, 6
  77.     Add RS_PosX(11), -1280  Add RS_PosY(11), -4500
  78.     Link 10, 11
  79.     SetVar RS_Richtung(11), 48
  80.     Limit 11, 0, 32
  81.  
  82.     NewShip 107, AlienTurm, Computer1, 12, 6
  83.     Add RS_PosX(12), -1280  Add RS_PosY(12), 4500
  84.     Link 10, 12
  85.     SetVar RS_Richtung(12), 16
  86.     Limit 12, 32, 0
  87.  
  88.     ChgAim 10, , 113
  89.     Text 1, 70, 7, 0
  90.  
  91.     NewShip 107, AlienRaumer1, Formation, 13, 6
  92.     Sub RS_PosX(13), 20000 Sub RS_PosY(13), 30000
  93.     ChgChef 13, 10, 15000, 10000
  94.  
  95.     NewShip 107, AlienRaumer1, Formation, 14, 6
  96.     Sub RS_PosX(14), 30000 Sub RS_PosY(14), 20000
  97.     ChgChef 14, 10, 15000, -10000
  98.  
  99.     // Spieler noch nicht entdeckt -> Suchen lassen
  100.     if(K=0) {
  101.       ChgCtrl 10, DummSchlumpf, , Beschossen
  102.       ChgAim 10, , 113
  103.       ChgCtrl 11, DummSchlumpf, SpielerEntdeckt
  104.       ChgCtrl 12, DummSchlumpf, SpielerEntdeckt
  105.       ChgCtrl 13, Formation, SpielerEntdeckt, Beschossen
  106.       ChgCtrl 14, Formation, SpielerEntdeckt, Beschossen
  107.       }
  108.  
  109.     // Spieler schon entdckt?
  110.     if(K=1) {
  111.       ChgCtrl 11, Station2
  112.       ChgCtrl 12, Station2
  113.       }
  114.     }
  115.   }
  116.  
  117. if(J=1) {
  118.   if(C>13) {
  119.     Gosub TesteDicken
  120.     }
  121.   }
  122.  
  123. if(F=0) {
  124.   SetVar X, 250112
  125.   SetVar Y, 152064
  126.   }
  127.  
  128. if(F=1) {
  129.   SetVar X, 129536
  130.   SetVar Y, 126464
  131.   }
  132.  
  133. if(F=2) {
  134.   SetVar X, 76800
  135.   SetVar Y, 110592
  136.   SetVar J, 1
  137.   SetVar C, 6
  138.   }
  139.  
  140. if(F=3) {
  141.   SetVar X, 26112
  142.   SetVar Y, 68608
  143.   }
  144.  
  145. if(F=4) {
  146.   SetVar X, 79104
  147.   SetVar Y, 16384
  148.   }
  149.  
  150. if(F=5) {
  151.   SetVar X, 162560
  152.   SetVar Y, 66560
  153.   }
  154.  
  155. if(F=6) {
  156.   SetVar X, 262400
  157.   SetVar Y, 73472
  158.   }
  159.  
  160. // Entsprechende Stelle aufblinken lassen
  161. if(F<7) {
  162.   NeuObjekt X, Y, 0, 0, GrauKreis, TranspAdd
  163.   Dauerpfeil X, Y
  164.   }
  165.  
  166. if(F=7) { Goto Weiter }
  167.  
  168. if(F<7) {
  169.   if(E=0) {
  170.     Wait 10
  171.     Text 1, 50, 5, 0
  172.     Wait 10
  173.     ZeigeInfo MFailed
  174.     Wait 20
  175.     EndMission -1
  176.     Ende
  177.     }
  178.   }
  179.  
  180. Goto Rund
  181.  
  182. // Gewonnen
  183. SetMarke Weiter
  184.  
  185. Wait 20
  186. Gosub TesteDicken
  187. Text 1, 50, 4, 0
  188. Dauerpfeil 304384, 194560
  189.  
  190. SetMarke Warten
  191. Wait 10
  192. NeuObjekt 304384, 194560, 0, 0, GrauKreis, TranspAdd
  193. if(RS_NaherLP(0)=45) { Goto Gewonnen }
  194. Gosub TesteDicken
  195. Goto Warten
  196.  
  197. SetMarke Gewonnen
  198. NeuObjekt RS_PosX(0), RS_PosY(0), RS_KursX(0), RS_KursY(0), BeamUirk, TranspAdd
  199. SetVar RS_Team(0), 0
  200. Dauerpfeil
  201.  
  202. Wait 40
  203. Gosub TesteDicken
  204. ZeigeInfo MSuccess
  205. EndMission 14
  206. Wait 70
  207.  
  208. Ende
  209.  
  210. // -------------------
  211. SetMarke WirTot
  212. ZeigeInfo MFailed
  213. Wait 20
  214. EndMission -1
  215. Ende
  216.  
  217. // -------------------
  218. SetMarke Geschossen
  219. // Eine Sonde abziehen
  220. Sub E, 1
  221. // Abchecken, ob Sonde saß
  222. Sub X, 6400  Sub Y, 6400
  223.  
  224. if(A>X) {
  225.   if(B>Y) {
  226.     Add X, 12800  Add Y, 12800
  227.     if(A<X) {
  228.       if(B<Y) {
  229.         Add F, 1
  230.         Text 1, 50, 6, 0, F
  231.         Goto noe
  232.         }
  233.       }
  234.     }
  235.   }
  236.  
  237. SetVar G, E
  238. Add G, F
  239.  
  240. if(F<7) {
  241.   // Eine daneben geschossen
  242.   if(G=7) {
  243.     Text 1, 50, 8, 0
  244.     }
  245.  
  246.   // zwei daneben geballert -> Fine
  247.   if(G=6) {
  248.     Text 1, 50, 5, 0
  249.     Wait 40
  250.     ZeigeInfo MFailed
  251.     Wait 20
  252.     EndMission -1
  253.     Ende
  254.     }
  255.   }
  256.  
  257. SetMarke Noe
  258. Return
  259.  
  260. // ---------------------------------------------
  261. SetMarke SpielerEntdeckt
  262. ChgCtrl 5, Computer5
  263. ChgCtrl 6, Computer5
  264. ChgCtrl 7, Computer5
  265. ChgCtrl 8, Computer5
  266. ChgCtrl 9, Computer5
  267. ChgCtrl 11, Station2
  268. ChgCtrl 12, Station2
  269. ChgCtrl 10, DummSchlumpf
  270. ChgCtrl 13, Formation
  271. ChgCtrl 14, Formation
  272.  
  273. SetVar K, 1
  274.  
  275. Text 1, 50, 2, 0
  276.  
  277. SpieleMusik "Musik/Story4"
  278.  
  279. Return
  280.  
  281. SetMarke Beschossen
  282. ChgCtrl 5, Computer5
  283. ChgCtrl 6, Computer5
  284. ChgCtrl 7, Computer5
  285. ChgCtrl 8, Computer5
  286. ChgCtrl 9, Computer5
  287. ChgCtrl 11, Station2
  288. ChgCtrl 12, Station2
  289. ChgCtrl 10, DummSchlumpf
  290. ChgCtrl 13, Formation
  291. ChgCtrl 14, Formation
  292.  
  293. SetVar K, 1
  294.  
  295. Text 1, 50, 3, 0
  296.  
  297. SpieleMusik "Musik/Story4"
  298. Return
  299.  
  300. SetMarke PatrolTot
  301. Wait 30
  302. NewShip 0, AlienRaumer2, Patrol, A, 6, PatrolTot
  303. ChgCtrl A, Computer5, SpielerEntdeckt, Beschossen
  304. Return
  305.  
  306. // ---------------------------------------------
  307. SetMarke TesteDicken
  308.  
  309. if(RS_NaherLP(10)=0) { ChgAim 10, -1, 5 }
  310. if(RS_NaherLP(10)=5) { ChgAim 10, -1, 108 }
  311. if(RS_NaherLP(10)=108) { ChgAim 10, -1, 109 }
  312. if(RS_NaherLP(10)=109) { ChgAim 10, -1, 110 }
  313. if(RS_NaherLP(10)=110) { ChgAim 10, -1, 111 }
  314. if(RS_NaherLP(10)=111) { ChgAim 10, -1, 113 }
  315. if(RS_NaherLP(10)=113) {
  316.   NeuObjekt RS_PosX(10), RS_PosY(10), 4000, RS_KursY(10), BeamUirk
  317.   Add RS_PosX(10), 3840
  318.   NeuObjekt RS_PosX(10), RS_PosY(10), 4000, RS_KursY(10), BeamUirk
  319.   Sub RS_PosX(10), 3840
  320.   Add RS_PosY(10), 3840
  321.   NeuObjekt RS_PosX(10), RS_PosY(10), 4000, RS_KursY(10), BeamUirk
  322.   Sub RS_PosX(10), 3840
  323.   Sub RS_PosY(10), 3840
  324.   NeuObjekt RS_PosX(10), RS_PosY(10), 4000, RS_KursY(10), BeamUirk
  325.   Add RS_PosX(10), 3840
  326.   Sub RS_PosY(10), 3840
  327.   NeuObjekt RS_PosX(10), RS_PosY(10), 4000, RS_KursY(10), BeamUirk
  328.   SetVar RS_Team(10), 0
  329.   SetVar RS_Team(11), 0
  330.   SetVar RS_Team(12), 0
  331.  
  332.   Wait 10
  333.   NeuObjekt RS_PosX(13), RS_PosY(13), 4000, RS_KursY(14), BeamUirk, TranspAdd
  334.   NeuObjekt RS_PosX(14), RS_PosY(14), 4000, RS_KursY(14), BeamUirk, TranspAdd
  335.   SetVar RS_Team(13), 0
  336.   SetVar RS_Team(14), 0
  337.   }
  338. Return
  339.